Characterization of Repeating Dynamic Code Fragments

نویسندگان

  • Francesco Spadini
  • Michael Fertig
  • Sanjay J. Patel
چکیده

For this study, we analyze the dynamic instruction streams of the SPEC2000 integer benchmarks to find frequently occurring units of computation, or idioms. An idiom, in the broadest sense, is an interdependent piece of a computation dataflow. For example, a load-add-store idiom performs an increment operation through a set of three interdependent instructions. Using a heuristic technique that performs an exhaustive analysis on selected regions of an application’s instruction stream, we are able to derive a small set of idioms each consisting of between three and eight Alpha instructions, where the set covers a non-trivial fraction of the overall stream. On the average benchmark, a set consisting of ten idioms (50 total instructions) spans over 26% of the instruction stream. We provide a catalog of the top idiom occurring in each of the benchmarks. This catalog provides interesting insights into the type of small-scale computations that are frequent in general code. For each idiom, we identify the locations in the source code from which it originates. Many idioms occur in multiple static locations. We outline some potential applications for such idioms, including techniques for cache compression, more effective instruction dispersal in a clustered architecture, and specialized instructions for a customizable instruction set. We more deeply investigate an application that can reduce some redundancy in trace caches and potentially boost fetch bandwidth by a careful and systematic encoding of frequent idioms into smaller instruction words. We demonstrate that a simple decoder suffices to reconstitute the instruction stream.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

DynJava: Type Safe Dynamic Code Generation in Java

Dynamic code generation is a technique that generates and executes fragments of executable code during the run-time of an program to reduce the execution time of programs. However, most of currently available dynamic code generation systems have weakness on high-level language support for describing dynamic code fragment. Especially, safety of dynamic composition of code fragments is not suffic...

متن کامل

A Module Calculus with Dynamic Type-Checking

We present a simple module calculus modeling reconfiguration of code in an open environment, where some software fragments can be provided from the outside and combined with others after execution has started. Software fragments and their composition are modeled as in previous module calculi; here, we focus on the new problems posed by the fact that code fragments are not all available at compi...

متن کامل

Adding Dynamic Types to C#

Developers using statically typed languages such as C and Java increasingly have to interoperate with APIs and object models defined in dynamic languages. This impedance mismatch results in code that is difficult to understand, awkward to analyze, and expensive to maintain. In this paper we describe new features in C4.0 that support the safe combination of dynamically and statically typed code ...

متن کامل

Ribosomal RNA Genes of Saccharomyces cerevisiae I. PHYSICAL MAP OF THE REPEATING UNIT AND LOCATION OF THE REGIONS

The organization of the ribosomal DNA repeating unit from Saccharomyces cerevisiae has been analyzed. A cloned ribosomal DNA repeating unit has been mapped with the restriction enzymes Xma I, Kpn I, HindIII, Xba I, BgZ I + II, and EcoRI. The locations of the sequences which code for 5 S, 5.8 S, 18 S, and 25 S ribosomal RNAs have been determined by hybridization of the purified RNA species with ...

متن کامل

Ribosomal RNA genes of Saccharomyces cerevisiae. I. Physical map of the repeating unit and location of the regions coding for 5 S, 5.8 S, 18 S, and 25 S ribosomal RNAs.

The organization of the ribosomal DNA repeating unit from Saccharomyces cerevisiae has been analyzed. A cloned ribosomal DNA repeating unit has been mapped with the restriction enzymes Xma 1, Kpn 1, HindIII, Xba 1, Bgl I + II, and EcoRI. The locations of the sequences which code for 5 S, 5.8 S, 18 S, and 25 S ribosomal RNAs have been determined by hybridization of the purified RNA species with ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002